<!--

== Использование ==

{{@html/comments/comments.html:main item=tmp}}

обязательные параметры:

	{{community.url}} - oid документа
	{{item.post.oid}} - oid документа
	{{item.post.commentscount}} - кол-во комментов
	{{item.acl.comment_create.is_allowed}} - если разрешено комментировать



== Структура страницы, по class ==

js-post (id=".(\d+)")                                   # итем, в id oid коммента
     js-ajax-action (href=".+")                         # ссылка куда сабмитить запросы ajax
     js-comment-create-ajax-action (href=".+")          # ссылка куда сабмитить запросы ajax на создание коммента
     js-comments-panel
          js-comments-show-title                        # заголовок тогла ("уже есть")
          js-comments-show-btn                          # тогл показать/скрыть комменты
          js-post-answer-title                          # заголовок тогла "Добавление комментария"
          js-post-answer-btn                            # тогл "добавить комментарий"/"закрыть"
     js-post-answer-box                                 # место для вставки формы ответа на пост
     js-comments-list                                   # список комментов
          js-comment (id=".(\d+)")                      # итем, в id oid коммента
                    js-comment-answer-btn               # тогл "ответить"/"закрыть"
                    js-comment-delete-btn               # кнопка "удалить" 
                    js-comment-edit-btn                 # кнопка "изменить"
               js-comment-answer-box                    # место для вставки формы ответа на коммент
          js-more-box                                   # раскрывалка комментов
               js-more-btn (href="&parent_oid="(\d+)"   # кнопка для раскрытия комментов, в parent_oid oid коммента

js-comment-edit-form                                    # форма редактирования коммента
                                                        # при показе замещает собой тело коммента (содержимое js-comment)
     js-ajax-action (href=".+")                         # ссылка куда сабмитить ajax формы
     js-form-ok                                         # кнопка "обновить комментарий"
     js-form-close                                      # кнопка "отменить"

(id="js_comment_answer_form")                           # бокс с формой ответа на коммент или пост
                                                        # существует на странице в единственном экземпляре
                                                        # перемещается от коммента к комменту
     js-comment-answer-form                             # форма ответа на коммент или пост
         js-ajax-action (href=".+")                     # ссылка куда сабмитить ajax формы
         js-form-ok                                     # кнопка "сохранить"
         js-form-close                                  # кнопка "закрыть"

js-is-dead                                              # объект удален


!! для dkcomments.js:
!! важно, чтобы js-*-ajax-action были непосредственными детьми тегов, к которым они относятся
!! т.е. <div class="js-post"> .. {{@html/comments/comments.html:ajax}} .. </div> 

-->

<!-- 61: ВАЖНОЕ СОГЛАШЕНИЕ.
	Не определять переменные

	hide_comments_block
	hide_form
	update_form

	в обработчиках
	-->


{{:url_comment_create}}{{/}}{{?community.url}}{{community.url}}/{{/?}}comments_submit{{/:url_comment_create}}
{{:url_comment_edit}}{{/}}{{community.url}}/{{comment_oid}}/editcomment{{/:url_comment_edit}}
{{:ajax_comment_create}}{{@:url_comment_create}}/ajax{{/:ajax_comment_create}}
{{:ajax_comment_edit}}{{/}}{{community.url}}/ajax_comments/ajax{{/:ajax_comment_edit}}
{{:ajax_comment}}{{/}}{{?!hack_feed_site}}{{community.url}}/{{/?}}ajax_comments/ajax{{/:ajax_comment}}


{{:main}} <!-- для вставки блока комментов (кнопки + список) -->
	{{@:ajax}}
	{{@:buttons}}
	{{@:list}}
{{/:main}}


<!-- блок кнопок для комментирования поста -->
{{:buttons}}
	{{!connect 'theme/page/comments.css'}}

	<!-- для comments/dkcomments.js -->
		{{!connect "cpaint2.inc.js"}}
		{{!connect "tinymce/tiny_mce_src.js"}}
		{{!connect "tiny_mce_start.js"}}
		{{!connect "jplugins/jquery.field.js"}} 
		{{!connect "juri.js"}}
		{{!connect "misc.js"}}
		{{!connect "comments/dkcomments.js"}}

	<!-- Блок комментариев -->
	<ul class="comments- {{?showcontainer}}commentinfo-selected-{{/?}} js-comments-panel" id="c{{item.post.oid}}">
		{{?item.post.commentscount}}
		<li class="js-comments-show-title">Уже есть</li>
		<li class="link- html-active-zone"><span class="bg1-"><a href="{{/}}{{community.url}}/{{item.post.oid}}?showcomments#comments" class="js-comments-show-btn">{{!plural item.post.commentscount "комментари" "й" "я" "ев"}}</a></span></li>
		{{?:}}
		<li class="js-comments-show-title">Комментариев еще нет</li>
		<li class="link- html-active-zone"><span class="bg1-"><a href="{{/}}{{community.url}}/{{item.post.oid}}?showcomments#comments" class="js-comments-show-btn"></a></span></li>
		{{/?}}
		{{?item.acl.comment_create.is_allowed}}
		<li class="add- html-active-zone"><span class="bg1-"><span class="js-post-answer-title"><!-- добавление комментария (Вы 21-й) --></span><a href="{{/}}{{community.url}}/{{item.post.oid}}?showcomments#add" class="js-post-answer-btn">добавить?</a></span></li>
		{{/?}}
	</ul>
{{/:buttons}}


{{:ajax}}
	<a href="{{@:ajax_comment}}" class="js-ajax-action dn"></a>
	<a href="{{@:ajax_comment_create}}" class="js-comment-create-ajax-action dn"></a>
{{/:ajax}}


<!-- блок списка комментов -->
{{:list}}
	<!-- Дефолтный вывод: Комменты и форма сабмита к итему -->
	<a name="comments_{{item.post.oid}}"></a>
	<div class="pg-comments">
		{{?showcontainer}}
			{{rendered_comment_container | safe}}
		{{?:}}
			<!-- Фома ответа на итем -->
			<div class="js-post-answer-box">{{?showform}} {{@:form}} {{/?}}</div>
			<!-- 
			     даже если нас не просят показать комменты прямо сейчас,
			     блоки js-comments-list и js-post-answer-box должны быть заданы на странице всегда,
			     чтобы указать ajax'у место для вставки комментов и отображения формы ответа на пост
				 -->
			<div class="clist- js-comments-list" ></div>
		{{/?}}
	</div>
{{/:list}}


<!-- 

	дальше всякая шняга

-->

<!-- Дефолтный вывод: Комменты и форма сабмита к итему -->
{{@:comment_container}}


<!-- Выводит форму ответа и сам коммент, используется при ответе на другой комментарий -->
{{:answer_to_parent}}
	{{@:comment_container hide_comments_block='0' answer_to_another='1'}}
{{/:answer_to_parent}}


<!-- Только комментарии: используется при выводе отдельных тредов -->
{{:only_comments}}
	{{@:comment_container hide_comments_block='0' hide_form='1' update_form='0' thread_view='1'}}
{{/:only_comments}}


<!-- Форма редактирования комментария -->
{{:update_form}}
{{@:comment_container hide_comments_block='1' update_comment='1' hide_form='1' update_form='1' without_js='1'}}
{{/:update_form}}


<!-- Контейнер -->
{{:comment_container}}
	{{?answer_to_another}}
		<h2 class="subtitle-">Ответ на комментарий</h2>
	{{/?}}
	{{?thread_view}}
		{{?parent_comment}}
		<div class="clist-">
			<div class="citem- js-comment" >
				<ul class="cinfo-">
					<li class="meta-">
						<a href="{{/}}{{community.url}}/members/{{parent_comment.posted_by_id}}" title="Перейти к профилю пользвателя {{parent_comment.fullname}}"><img class="avatar-" alt="" src="{{?parent_comment.avatar}}{{/}}{{parent_comment.avatar | link_to 'imagestorage' 'sm2'}}{{?:}}{{!static type='images' 'avatar-22x22.png'}}{{/?}}" /></a>
						{{?parent_comment.fullname}}<a href="{{/}}{{community.url}}/members/{{parent_comment.posted_by_id}}" title="Перейти к профилю пользвателя {{parent_comment.fullname}}" class="user- service-user">{{parent_comment.fullname}}</a> {{?:}}Анонимный пользователь{{/?}} {{parent_comment.ctime|date '%d.%m.%y в %H:%i'}}
					</li>
					{{?parent_comment.acl.comment_edit.is_allowed}}
					<li class="link-"><a href="{{/}}{{community.url}}/{{item_oid}}?comment_oid={{parent_comment.oid}}" class="js-comment-edit-bnt"><img src="{{!static type='images' 'icons2/page_white_edit.png'}}" alt="редактировать комментарий" class="cimg-" /></a></li>
					{{/?}}
					{{?parent_comment.acl.comment_delete.is_allowed}}
					<li class="link-"><a href="{{/}}{{community.url}}/{{parent_comment.oid}}/deletecomment" class="js-comment-delete-btn"><img src="{{!static type='images' 'icons2/page_white_delete.png'}}" alt="удалить комментарий" class="cimg-" /></a></li>
					{{/?}}
				</ul>
				<div class="cbody- typography">
					<p>{{parent_comment.text |safe}}</p>
				</div>
				{{?parent_comment.edited_user}}<div class="edited-">Этот комментарий был изменен пользователем {{parent_comment.edited_user.fullname}}&nbsp;{{parent_comment.edited_rlcd|date 'в %H:%i %d.%m.%y'}}.</div>{{/?}}
				{{?can_comment}}
					<ul class="answer-"><li class="html-active-zone"><span class="bg1-"><span class="js-comment-answer-title"><!-- добавление комментария (Вы 21-й) --></span>&nbsp;<a href="{{/}}{{community.url}}/{{item_oid}}?parent_oid={{parent_comment.oid}}&submit=1" class="js-comment-answer-btn">Ответить?</a></span></li></ul>
					<!-- контейнер для формы ответа 
					FIXME : 2008-09-12 : lucky
					не знаю куда вставить
					д.б. внутри тега коммента
					-->
					<div class="js-comment-answer-box"></div>
				{{/?}}
			</div>
		</div>
		{{/?}}
		<h2>Ветвь дискуссии</h2>
	{{/?}}
	{{?update_comment}}
		<h2>Редактирование комментария</h2>
	{{/?}}

	{{?can_comment}}	
		<!-- Фома ответа на итем -->
		<div class="js-post-answer-box">{{?!hide_form}} {{@:form}} {{/?}}</div>
	{{/?}}

	{{?!hide_comments_block}}
	<div class="clist- js-comments-list" >
		{{@:loader_container}}
	</div>
	{{/?}}

	{{?update_form}}	{{@:up_form}}	{{/?}}

{{/:comment_container}}


{{:loader_container}}
	{{?comments.items}}{{@:comments_list}}{{?:}}{{@:item}}{{/?}}
{{/:loader_container}}


{{:comments_list}}
	{{!for comments.items do=@:item}}
	{{:item}}
	<div class="citem- js-comment{{?*is_deleted}} js-is-dead{{/?}}" id="i{{*oid}}"{{?*offset}} style="margin-left: {{!eval (*offset * 30)}}px;"{{/?}}>
		{{?*is_deleted}}
			<div class="deleted-">Комментарий был удален.</div>
		{{?:}}
			<ul class="cinfo-">
				<li class="meta-">
					<a href="{{/}}{{community.url}}/members/{{*posted_by_id}}" title="Перейти к профилю пользвателя {{*fullname}}"><img class="avatar-" alt="" src="{{?*avatar}}{{/}}{{*avatar | link_to 'imagestorage' 'sm2'}}{{?:}}{{!static type='images' 'avatar-22x22.png'}}{{/?}}" /></a>
					{{?*fullname}}<a href="{{/}}{{community.url}}/members/{{*posted_by_id}}" title="Перейти к профилю пользвателя {{*fullname}}" class="user- service-user">{{*fullname}}</a> {{?:}}Анонимный пользователь{{/?}} {{*ctime|date '%d.%m.%y в %H:%i'}}
				</li>
				{{?*acl.comment_edit.is_allowed}}
				<li class="link-"><a href="{{/}}{{community.url}}/{{item_oid}}?comment_oid={{*oid}}" class="js-comment-edit-btn"><img src="{{!static type='images' 'icons2/page_white_edit.png'}}" alt="редактировать комментарий" class="cimg-" /></a></li>
				{{/?}}
				{{?*acl.comment_delete.is_allowed}}
				<li class="link-"><a href="{{/}}{{community.url}}/{{*oid}}/deletecomment" class="js-comment-delete-btn"><img src="{{!static type='images' 'icons2/page_white_delete.png'}}" alt="удалить комментарий" class="cimg-" /></a></li>
				{{/?}}
			</ul>
			<div class="cbody- typography">
				<p>{{*text |safe}}</p>
			</div>
			{{?*edited_user}}<div class="edited-">Этот комментарий был изменен пользователем {{*edited_user.fullname}}&nbsp;{{*edited_rlcd|date 'в %H:%i %d.%m.%y'}}.</div>{{/?}}
			{{?can_comment}}
				<ul class="answer-"><li class="html-active-zone"><span class="bg1-"><span class="js-comment-answer-title"><!-- добавление комментария (Вы 21-й) --></span>&nbsp;<a href="{{/}}{{community.url}}/{{item_oid}}?parent_oid={{*oid}}&submit=1" class="js-comment-answer-btn">Ответить?</a></span></li></ul>

				<!-- контейнер для формы ответа 
				FIXME : 2008-09-12 : lucky
				не знаю куда вставить
				д.б. внутри тега коммента
				-->
				<div class="js-comment-answer-box"></div>
			{{/?}}
		{{/?}}
	</div>
	{{?*have_more}}
		{{@:comments_loader l_count=*l_count offset=*loader_level_offset parent_oid=*oid}}
	{{/?}}
	{{/:item}}
	{{?loader_type2}}
		{{@:comments_loader l_count=loader_type2.l_count offset=loader_type2.view_level items_offset=loader_type2.offset parent_oid=loader_type2.parent_oid}}
	{{/?}}
{{/:comments_list}}


<!-- Подгрузчик -->
{{:comments_loader}}
<div class="more- js-more-box"><!-- HACK : 2008-09-12 : lucky добавил этот тег из-за js-more-box -->
	<a href="{{/}}{{community.url}}/{{item_oid}}?showcomments&parent_oid={{parent_oid}}{{?items_offset}}&offset={{items_offset}}{{/?}}#comments"
		class="cmore- {{?items_offset}}loader_type2{{/?}} js-more-btn"
		style="margin-left: {{!eval (offset * 30)}}px; "
		{{?items_offset}}name="{{parent_oid}}:{{items_offset}}"{{/?}}>
			<span>Ещё {{!plural l_count "комментари" "й" "я" "ев"}}</span>
	</a>
</div>
{{/:comments_loader}}


<!-- Форма апдейта -->
{{:up_form}}
<form action="{{@:url_comment_edit}}" method="post" accept-charset="utf-8" class="cadd- js-comment-edit-form">
	<a href="{{@:ajax_comment_edit}}" class="js-ajax-action dn"></a>
	<ul class="cinfo-">
		<li class="cuserdata-"><a href="{{/}}{{community.url}}/members/{{user.url}}" title="Перейти к профилю пользвателя {{user.real_name}}"><img src="{{user.avatar.path_to_orig | thumb filter='smart' w=22 h=22}}" alt="" class="cavatar-" /></a><a href="{{/}}{{community.url}}/members/{{user.url}}" title="Перейти к профилю пользвателя {{user.real_name}}" class="cname-">{{user.real_name}}</a> {{now | date "%d.%m.%Y в %H:%i" }}</li>
	</ul>
	<div class="cbody-"><textarea name="comment" class="mceEditor light" id="{{!uniqid}}" >{{comment.text}}</textarea></div>
	<input class="csubmit- js-form-ok" type="{{?without_js}}submit{{?:}}button{{/?}}" name="submit" value="Обновить комментарий" />
	<input class="csubmit- js-form-close" type="{{?without_js}}submit{{?:}}button{{/?}}" name="cancel" value="Отменить" />
	<input type="hidden" name="isform" value="1" />
	<input type="hidden" name="item_oid" value="{{comment_oid}}" />
</form>
{{/:up_form}}


<!-- Форма для сабмита -->
{{:form}}
<div id="js_comment_answer_form"><!-- HACK : 2008-09-12 : lucky добавил этот тег из-за id -->
	<a name="add"></a>
	<form class="cadd- js-comment-answer-form" accept-charset="utf-8" method="post" action="{{@:url_comment_create}}">
		<a href="{{@:ajax_comment_create}}" class="js-ajax-action dn"></a>
		<ul class="cinfo-">
			<li class="meta-">
				<a href="{{/}}{{community.url}}/members/{{user.url}}" title="Перейти к профилю пользвателя {{user.real_name}}"><img class="avatar-" alt="" src="{{user.avatar.path_to_orig | thumb filter='smart' w=22 h=22}}"/></a>
				<a href="{{/}}{{community.url}}/members/{{user.url}}" title="Перейти к профилю пользвателя {{user.real_name}}" class="user- service-user">{{user.real_name}}</a>
			</li>
		</ul>
		<div class="cbody- form-common">
			<fieldset class="fieldset- textarea-">
				<textarea name="comment" class="field- mceEditor light" id="{{!uniqid}}" ></textarea>
			</fieldset>
			<ul class="form-buttons">
				<li class="accept- csubmit-"><span class="bg1-"><input class="js-form-ok" type="button" value="Добавить" /></span></li>
			</ul>
		</div>
		<input type="hidden" name="isform" value="1" />
		<input type="hidden" name="item_oid" value="{{item_oid}}" />
		<input type="hidden" name="parent_oid" value="{{parent_oid}}" />
		<noscript>
			<input type="submit" value="Оставить комментарий" />
		</noscript>
	</form>
</div>
{{/:form}}
